package me.zhengjie.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("wcs_line_body_outbound")
public class WcsLineBodyOutbound {

    @TableId(type = IdType.AUTO)
    private Integer id;

    @TableField("unit_id")
    private Integer unitId;

    //第一段请求放货地址位请求CTU传输料箱（0：不请求；1：请求）
    @TableField("one_request_put")
    private Integer oneRequestPut;

    //第一段地址位，0无货1有货
    @TableField("one_address")
    private Integer oneAddress;

    //CUT放货储位
    @TableField("ctu_put_storage")
    private String ctuPutStorage;

    //扫码状态地址位（0：无料；1：有料）
    @TableField("sweep_code_status")
    private Integer sweepCodeStatus;

    //读码状态地址位（0：初始状态；1：OK；2：NG；3：超时）
    @TableField("read_code_status")
    private Integer readCodeStatus;

    //读码信息地址位
    @TableField("read_code_information")
    private Integer readCodeInformation;

    //第一段请求栈板码编号
    @TableField("one_request_pallet_code_name")
    private Integer oneRequestPalletCodeName;

    //第二段请求栈板码编号
    @TableField("two_request_pallet_code_name")
    private Integer twoRequestPalletCodeName;

    //第一段链条往下流地址位（0：不请求；1：请求）
    @TableField("one_chain_below")
    private Integer oneChainBelow;

    //第二段链条往下流地址位（0：不请求；1：请求）
    @TableField("two_chain_below")
    private Integer twoChainBelow;

    //第一段agv请求搬运（0：不请求；1：请求）
    @TableField("one_agv_request_transport")
    private Integer oneAgvRequestTransport;

    //第二段agv请求搬运（0：不请求；1：请求）
    @TableField("two_agv_request_transport")
    private Integer twoAgvRequestTransport;

    //第一段返回结果（0：无任务；1：任务中；2：已完成）
    @TableField("one_teturn_result")
    private Integer oneTeturnResult;

    //第一段agv搬运返回plc（0默认1已发送）
    @TableField("one_agv_transport_plc")
    private Integer oneAgvTransportPlc;

    //第二段agv搬运返回plc（0默认1已发送）
    @TableField("two_agv_transport_plc")
    private Integer twoAgvTransportPlc;

    //读码结果反馈（0：初始状态；1：未收到  2：收到）
    @TableField("read_code_result")
    private Integer readCodeResult;

    //第一段写入plc
    @TableField("one_write_plc")
    private Integer oneWritePlc;

    //读码写入plc（0：初始状态；1收到）
    @TableField("read_code_write_plc")
    private Integer readCodeWritePlc;

    //读码写入PLC时间
    @TableField("read_timi")
    private LocalDateTime readTimi;

    //料箱放置位置(0：默认；1：1#位链条；)
    @TableField("workbin_place_position")
    private Integer workbinPlacePosition;

//    //料箱放置位置(0：默认；2：4#位链条)
//    @TableField("workbin_place_position_two")
//    private Integer workbinPlacePositionTwo;

    //第一段返回plc栈板名
    @TableField("one_teturn_name")
    private Integer oneTeturnName;

    //第二段返回plc栈板名
    @TableField("two_teturn_name")
    private Integer twoTeturnName;

    //第一段链条往下流结果（0：不允许  1：允许）
    @TableField("one_chain_below_result")
    private Integer oneChainBelowResult;

    //第二段链条往下流结果（0：不允许  1：允许）
    @TableField("two_chain_below_result")
    private Integer twoChainBelowResult;

    //第一段链条搬运结果（0：无任务；1：任务中；2：已完成）
    @TableField("one_chain_transport_result")
    private Integer oneChainTransportResult;

    //第二段链条搬运结果（0：无任务；1：任务中；2：已完成）
    @TableField("two_chain_transport_result")
    private Integer twoChainTransportResult;

    //ccd电子围栏状态（0：初始状态 1：无触发 2：触发）
    @TableField("ccd_electronic_fence_status")
    private Integer ccdElectronicFenceStatus;

    //第一段储位编码
    @TableField("one_storage_code")
    private String oneStorageCode;

    //第二段储位编码
    @TableField("two_storage_code")
    private String twoStorageCode;

    //第一段链条栈板号地址位
    @TableField("one_chain_pallet_code")
    private Integer oneChainPalletCode;

    //第三段链条栈板号地址位
    @TableField("three_chain_pallet_code")
    private Integer threeChainPalletCode;

    //第四段链条栈板号地址位
    @TableField("four_chain_pallet_code")
    private Integer fourChainPalletCode;

    //第七段链条栈板号地址位
    @TableField("seven_chain_pallet_code")
    private Integer sevenChainPalletCode;

    //第一段PLC栈板数量地址位
    @TableField("one_pallet_size")
    private Integer onePalletSize;

    //第二段PLC栈板数量地址位
    @TableField("two_pallet_size")
    private Integer twoPalletSize;

    //机械臂有无货物
    @TableField("robotic_arm_is_there_stock")
    private Integer roboticArmIsThereStock;

    //机械臂读码信息
    @TableField("robotic_arm_read_code")
    private Integer roboticArmReadCode;

    //机械臂请求码垛 0：不请求；1：请求
    @TableField("robotic_arm_request_stacking")
    private Integer roboticArmRequestStacking;

//    @TableField("robotic_arm_request_stacking_two")
//    private Integer roboticArmRequestStackingTwo;
}
